package com.ruoyi.carwash.mapper;

import com.ruoyi.carwash.domain.Order;
import com.ruoyi.carwash.vo.OrderVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface OrderMapper {

    // 查询订单列表
    List<OrderVo> selectOrderList(OrderVo order);

    // 查询订单总数
    Long selectOrderCount(Order order);

    // 根据ID查询订单详情
    Order selectOrderById(@Param("id") Long id);

    // 根据订单号查询订单
    Order selectOrderByOrderNo(@Param("orderNo") String orderNo);

    // 更新订单状态
    int updateOrderStatus(@Param("id") Long id, @Param("status") Integer status);

    // 更新支付状态
    int updatePaymentStatus(@Param("id") Long id, @Param("paymentStatus") Integer paymentStatus,
                            @Param("paymentTime") LocalDateTime paymentTime,
                            @Param("paymentTransactionId") String paymentTransactionId);

}
